<?php

namespace app\api\controller;
use app\api\service\UserToken;
use app\api\validate\TokenGet;
use app\lib\exception\ParameterException;
use think\Cache;
use think\Exception;
use app\api\service\Token as serviceToken;
use think\Request;

/**
 * Class Token
 * @package app\api\controller
 * 获取令牌 相当于登录
 */
class Token
{
    /**
     * 用户获取令牌（登陆）
     * @url /token
     * @POST code
     * @note 虽然查询应该使用get，但为了稍微增强安全性，所以使用POST
     */
    public function getToken()
    {
            $validate = new TokenGet();
            $validate->goCheck();
            // 获取客户端传过来的code值
            $code = input('param.code');
            $wx = new UserToken($code);
            $token = $wx->get();
            return json(msg(1,$token,'返回数据成功'));
    }
    
    // 百度小程序单独判断token是否过期
    public function tokenExpired()
    {
//        $token = Request::instance()->get('token');
        $token = Request::instance()->post('token');
        if (empty($token)){
           return json(msg(0,'','token不存在'));
        }
        $servicetoken = Cache::store('redis')->get($token);
        if(!$token==$servicetoken){
            return json(msg(0,'','token已失效'));
        }
        return json(msg(1,'','token验证成功'));

    }



}
